#ifndef _MYSPI_H
#define _MYSPI_H

#include "gd32e230.h"                   // Device header
#include "MyUart.h"

//单组SPI选择控制区
#define MYSPI_RCU_GPIOX 	RCU_GPIOA				//SPI引脚时钟
#define MYSPI_RCU_SPIX 		RCU_SPI0				//SPI外设时钟
#define MYSPI_SPIX 				SPI0						//硬件SPI编号
#define MYSPI_CS					GPIO_PIN_4			//SPI片选引脚
#define MYSPI_CLK					GPIO_PIN_5			//SPI时钟引脚
#define MYSPI_MISO				GPIO_PIN_6			//SPI输入引脚
#define MYSPI_MOSI				GPIO_PIN_7			//SPI输出引脚


//初始化SPI 
//无参
//无返回值
void MySpi_init(void);

//SPI读写一位数据
//参数：txdata  要发送的数据
//返回值：接受到的一位数据
uint8_t MySpi_ReadWriteByte(uint8_t txdata);

//SPI写一串数据（不关心读）
//参数：wdata 要发送的数组
//参数：dataslen 要发送的数组的长度
//无返回值
void MySpi_Write(uint8_t* wdata,uint16_t dataslen);

//SPI读一串数据（不关心写）
//参数：rdata 要接收的数组
//参数：dataslen 要接收的长度
//无返回值
void MySpi_Read(uint8_t* rdata,uint16_t datalen);


#endif


